#define  _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//int main()
//{
//    int n = 0;
//    scanf("%d", &n);
//
//    int i = 0;
//    int num = 0;
//    int ret = 0;
//    for (i = 0; i < n; i++)
//    {
//        scanf("%d", &num);
//        ret ^= num;
//
//    }
//    printf("%d", ret);
//    return 0;
//}

void* my_memcpy(void* str1, void* str2, int num)
{
	assert(str1 && str2);
	void* ret = str1;

	while (num--)//19 18 .. 1 
	{
		*(char*)str1 = *(char*)str2;
		((char*)str1)++;
		((char*)str2)++;
	}

	return ret;
}
int main()
{
	float arr1[] = { 1.0,2.0,3.0 };
	float arr2[5] = { 0 };
	my_memcpy(arr2, arr1, 8);

	int i = 0;
	for (i = 0; i < 5; i++)
	{
		printf("%f ", arr2[i]);
	}

	return 0;
}